//package com.feifan.monthhelper.calculate.pregnancy;
//
//import com.feifan.monthhelper.utils.DateUtils;
//
//import java.util.Calendar;
//import java.util.Date;
//
///**
// * 怀孕抽象算法
// * @param <T>
// */
//public abstract class AbstractPregnancylCalculate<T> {
//
//    AbstractPregnancylCalculate<T> nextCalculate;
//
//    public AbstractPregnancylCalculate() {
//    }
//
//    public final T process(T request) {
//        if(canCalculate(request)) {
//            return calculate(request);
//        } else if (nextCalculate != null){
//            return nextCalculate.process(request);
//        }
//        return request;
//    }
//
//    abstract boolean canCalculate(T request);
//    abstract float calculate(T request);
//
//    public void setNextCalculate(AbstractPregnancylCalculate menstrualCalculate) {
//        this.nextCalculate = menstrualCalculate;
//    }
//}
